u-boot 등을 빌드할 때는 arm-none-eabi- 뭐 이짝 컴파일러로 잘된다.그런 컴파일러가 arm 네이티브 프로그램을 빌드하려면 에러가 난다.main 에서 시작하는 스타트업 코드 crt0와 스탠다드 라이브러리등을 못찾는 문제다.이럴땐 컴파일러를 arm-none-linux-gnueabi- 등, 즉, 접두어에 linux가 포함된 놈으로 빌드하면 잘된다.본디 이 짝 컴파일러에 /nostdlib 옵션을 붙여서 펌웨어 수준 빌드를 하거나 경로 셋팅, rpath 등을 잘 쓰면 잘되어야 맞지만, 소소한 곳들을 잘 케어하지 않으면 빌드가 안 되는 경우가 많다.특정한 컴파일러로 확정 빌드를 하는 경우가 아니면 되는 놈으로 빌드하는 것이 일단 편하다.참고로 커널등을 빌드할 때는..ARCH=arm make 로 할 수도 있지만...cross_compile 파일을 만들어서 안에다 arm-none-linux-gnueabi- 등을 써주는 것이 편하다.Makefile 까보면 뭐하는 놈인지 보인다.